/**
 * @file 业主端 小程序入口
 * @author Iain
 * @creation 2021/11/27
 */

import Vue from "vue";
import App from "./App";
// 引入 路由管理
import { router, RouterMount } from "./router/index";
// 引入 vuex状态管理
import store from "@/store";
let vuexStore = require("@/store/$u.mixin.js");
// 引入 uview
import uView from "uview-ui";
// 引入 全局过滤器
import * as filters from "@/filters/index";
// 引入 全局工具函数
import utils from "@/utils/index.js";

// 注入 全局过滤器
Object.keys(filters).forEach((key) => {
  Vue.filter(key, filters[key]);
});

Vue.use(router);
Vue.use(uView);
Vue.mixin(vuexStore);
Vue.use(utils, app);

Vue.prototype.$utils = utils

Vue.config.productionTip = false;

App.mpType = "app";

const app = new Vue({
  store,
  ...App,
});

// http拦截器，将此部分放在new Vue()和app.$mount()之间，才能App.vue中正常使用
require('@/utils/request/index')(app)
// http接口API集中管理引入部分
import api from "@/api/index";
Vue.use(api, app);

//v1.3.5起 H5端 应该去除原有的app.$mount();使用路由自带的渲染方式
// #ifdef H5
RouterMount(app, router, "#app");
// #endif

// #ifndef H5
// 兼容小程序及app端
app.$mount();
// #endif
